﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using F1010DB.CustomEntity.InitDanhMuc;
namespace F1010DB.Common
{
    /// <summary>
    /// Lớp này dùng để phân tích các thông báo thành
    /// Ghi nhận dữ liệu
    /// </summary>
    public static class MessagesEx
    {
        private const string PARA_FIELD_NAME = "{field_name}";
        private const string PARA_MAX = "{max}";
        private const string PARA_MIN = "{min}";
        private const string PARA_LENGTH = "{max_length}";
        private const string PARA_MIN_LENGTH = "{min_length}";

        /// <summary>
        /// Không có đối số thêm vào
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string MsgById(string value)
        {
            return InitDisplayLoad.dictMessage[value];
        }

        /// <summary>
        /// Chỉ định đối số
        /// </summary>
        /// <param name="value">Mã thông điệp</param>
        /// <param name="arg1">Tên trường / cột chỉ định hiển thị</param>
        /// <returns></returns>
        public static string MsgById(string value, string arg1)
        {
            string msg = InitDisplayLoad.dictMessage[value];

            msg = msg.Replace(PARA_FIELD_NAME, arg1);

            return msg;
        }

        /// <summary>
        /// Chỉ định đối số
        /// Truyền rõ tên cột, giá trị kiểm chứng
        /// Ví dụ :
        /// {field_name} định dạng khoond đúng
        /// </summary>
        /// <param name="value">Giá trị nhập</param>
        /// <param name="arg1">Giá trị so sánh thứ nhất</param>
        /// <param name="arg2">Giá trị so sánh thứ hai</param>
        /// <returns></returns>
        public static string MsgById(string value, string arg1, string arg2)
        {
            string msg = InitDisplayLoad.dictMessage[value];

            msg = msg.Replace(PARA_FIELD_NAME, arg1);

            return String.Format(msg, arg2);
        }

        /// <summary>
        /// Chỉ định đối số trong chuổi tồn tại có 2, 3 đối số cần thiết
        /// </summary>
        /// <param name="value"></param>
        /// <param name="arg1"></param>
        /// <param name="arg2"></param>
        /// <param name="arg3"></param>
        /// <returns></returns>
        public static string MsgById(string value, string arg1, string arg2, string arg3)
        {
            string msg = InitDisplayLoad.dictMessage[value];

            msg = msg.Replace(PARA_FIELD_NAME, arg1);

            return String.Format(msg, arg2, arg3);
        }
    }
}
